]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
a11y: can_focus=!reactive as a general rule is not true anymore
authorAlejandro Piñeiro <apinheiro@igalia.com>
Fri, 17 Aug 2012 09:03:23 +0000 (11:03 +0200)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Fri, 17 Aug 2012 15:32:52 +0000 (17:32 +0200)
In some cases can_focus value is taken directly as
!reactive. But this is not the case anymore, as
we are interested on navigate on non reactive items

https://bugzilla.gnome.org/show_bug.cgi?id=667439

js/ui/popupMenu.js

index 0517837d60d5eba796500b7e2a0a7ed4827413a2..4e7b3ee1af0ad9125ff939681ffd8bcc9d3f8f79 100644 (file)
@@ -37,12 +37,13 @@ const PopupBaseMenuItem = new Lang.Class({
                                          activate: true,
                                          hover: true,
                                          sensitive: true,
-                                         style_class: null
+                                         style_class: null,
+                                         can_focus: true
                                        });
         this.actor = new Shell.GenericContainer({ style_class: 'popup-menu-item',
                                                   reactive: params.reactive,
                                                   track_hover: params.reactive,
-                                                  can_focus: params.reactive,
+                                                  can_focus: params.can_focus,
                                                   accessible_role: Atk.Role.MENU_ITEM});
         this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
         this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
@@ -69,10 +70,9 @@ const PopupBaseMenuItem = new Lang.Class({
         }
         if (params.reactive && params.hover)
             this.actor.connect('notify::hover', Lang.bind(this, this._onHoverChanged));
-        if (params.reactive) {
-            this.actor.connect('key-focus-in', Lang.bind(this, this._onKeyFocusIn));
-            this.actor.connect('key-focus-out', Lang.bind(this, this._onKeyFocusOut));
-        }
+
+        this.actor.connect('key-focus-in', Lang.bind(this, this._onKeyFocusIn));
+        this.actor.connect('key-focus-out', Lang.bind(this, this._onKeyFocusOut));
     },
 
     _onStyleChanged: function (actor) {
@@ -395,7 +395,8 @@ const PopupSeparatorMenuItem = new Lang.Class({
     Extends: PopupBaseMenuItem,
 
     _init: function () {
-        this.parent({ reactive: false });
+        this.parent({ reactive: false,
+                      can_focus: false});
 
         this._drawingArea = new St.DrawingArea({ style_class: 'popup-separator-menu-item' });
         this.addActor(this._drawingArea, { span: -1, expand: true });